/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Persistencia.Oracle;

import Persistencia.IBoletaSenasaDAO;
import Persistencia.DAOFactory;
import Persistencia.IExportadorDAO;
import Persistencia.IImportadorDAO;
import Persistencia.IPagoSenasaDAO;
import Persistencia.IResponsableDAO;
import Persistencia.IResponsableSenasaDAO;
import Persistencia.ISanitarioDAO;
import Persistencia.ITransporteDAO;
import java.sql.Connection;
import java.sql.SQLException;
import oracle.jdbc.pool.OracleDataSource;

/**
 *
 * @author Administrador
 */
public class OracleDAOFactory extends DAOFactory {

    public static final String DRIVER = "oracle.jdbc.OracleDriver";
    public static final String DBURL = "jdbc:oracle:thin:@localhost:1521:dboracle";

    public static Connection getConnection() {


        try {
            //    InitialContext ctx = new InitialContext();

// Obtenemos el contexto de nuestro entorno. La cadena
// "java:comp/env" es siempre la misma
            //  Context envCtx = (Context) ctx.lookup("java:comp/env");

// Obtenemos una fuente de datos identificada con la cadena que
// le hemos asignado en los ficheros de configuración
            //DataSource ds = (DataSource) envCtx.lookup("jdbc/Oracle");

// Ya podemos obtener una conexión y operar con ella normalmente
            //      Connection conn =  ds.getConnection();
            OracleDataSource ods = new OracleDataSource();
            ods.setURL("jdbc:oracle:thin:@localhost:1521:dboracle");
            ods.setUser("zeta");
            ods.setPassword("31284081");
            return ods.getConnection();
       
        } catch (SQLException ex) {
            ex.printStackTrace();
        }

        return null;


    }

    @Override
    public IExportadorDAO getExportadorDAO() {
        return ExportadorOracleDAO.getInstance();
    }

    @Override
    public IImportadorDAO getImportadorDAO() {
        return ImportadorOracleDAO.getInstance();

    }

    @Override
    public ITransporteDAO getTransporteDAO() {
        return TransporteOracleDAO.getInstance();
    }

    @Override
    public IResponsableDAO getResponsableDAO() {
        return ResponsableOracleDAO.getInstance();
    }

    @Override
    public IResponsableSenasaDAO getResponsableSenasaDAO() {
        return ResponsableSenasaOracleDAO.getInstance();
    }

    @Override
    public IPagoSenasaDAO getPagoSenasaDAO() {
        return PagoSenasaOracleDAO.getInstance();
    }

    @Override
    public IBoletaSenasaDAO getBoletaSenasaDAO() {
        return BoletaSenasaOracleDAO.getInstance();
    }

    @Override
    public ISanitarioDAO getSanitarioDAO() {
        return SanitarioOracleDAO.getInstance();
    }
}
